package com.bountytask.dao;

import com.bountytask.entity.UserTask;
import org.springframework.stereotype.Repository;
import java.util.HashMap;
import java.util.List;

@Repository
public interface UserTaskDao {
    //新增用户——任务关联数据
    public int addUserTask(UserTask userTask);
    //根据用户和任务id修改执行人的任务状态
    public int updateExecutorForSubmit(HashMap<String,Object> map);
    //提交任务而修改任务发布者的任务状态
    public int updatePosterForSubmit(long taskId);
    //提交任务而获取任务执行者在该任务的状态
    public int getStatus(HashMap<String,Object> map);
    //确认任务而修改任务执行者的任务状态
    public int updateExecutorForConfirm(HashMap<String,Object> map);
    //提交任务而修改任务发布者的任务状态
    public int updatePosterForConfirm(long taskId);
    //获取该任务下所有执行人的状态
    public List<Integer> getStatuses(long taskId);
    //不通过del_tag字段查询用户在该任务下的状态
    public int getStatusNoDel(HashMap<String,Object> map);
    //根据taskid查询状态
    // @Select("select userid,taskid,status,role from user_task")
    public List<UserTask> getUserIdAndTaskid(long taskid);

    //根据taskid查询状态2
    public List<UserTask> getUserIdAndTaskid2(long taskid);

    //获得该任务的发布人id
    public long getPoster(long taskId);

    //获取该任务下的执行者id
    public List<Long> getExecutors(long taskId);
}
